package cn.thinkluck.pattern.command;

/**
 * 命令模式
 * 将命令、客户端、接收端分离开
 * 可以达成命令集的可撤销、可重做、可存储、可共享
 * @Author liutao
 * @DateTime 2024/8/4 下午3:53
 */
public class Main {
    public static void main(String[] args) {
        //创建灯
        Light light = new Light();
        //创建控制器
        Controller controller = new Controller();
        //设置开灯命令
        LightOnCommandImpl lightOnCommand = new LightOnCommandImpl(light);
        controller.setCommand(lightOnCommand);
        controller.executeCommand();
        //设置关灯命令
        LightOffCommandImpl lightOffCommand = new LightOffCommandImpl(light);
        controller.setCommand(lightOffCommand);
        controller.executeCommand();
    }
}
